package gepes.negocio;

import java.sql.Date;
import java.sql.Time;

import gepes.dao.ClaseDAO;
import gepes.dao.ProfesorCategoriaDAO;
import gepes.dao.UsuarioDAO;
import gepes.exepcion.DAOExcepcion;
import gepes.modelo.Clase;
import gepes.modelo.ProfesorCategoria;
import gepes.modelo.TipoDocumento;

public class GestionClase {
	public boolean validar(Clase vo) {
		if (vo.getFechaClase() == null || vo.getHoraClase() == null
				|| vo.getHoraFin() == null || vo.getCosto() <= 0) {
			return false;
		}
		return true;
	}

	public Clase insertar(String descripcion, int codcategoria,
			int codprofesor, Date fechaclase, Time horainicio, Time horafin,
			float costo, String usuarioreg) throws DAOExcepcion {
		ClaseDAO dao = new ClaseDAO();
		GestionProfesor bl = new GestionProfesor();
		Clase vo = new Clase();

		vo.setDescripcion(descripcion);
		ProfesorCategoria pf = bl.obtenerProfCate(codcategoria, codprofesor);
		vo.setProfesorCategoria(new ProfesorCategoria(pf
				.getCodProfesorCategoria()));
		System.out.print(pf.getCodProfesorCategoria());
		vo.setFechaClase(fechaclase);
		vo.setHoraClase(horainicio);
		vo.setHoraFin(horafin);
		vo.setCosto(costo);
		vo.setUsuarioReg(usuarioreg);
		if (dao.existe(codcategoria, codprofesor) > 0) {

			throw new DAOExcepcion("Profesor ya tiene esta clase registrada");
		}
		return dao.insertar(vo);
	}

	public void anular(int id, String usuario) throws DAOExcepcion {
		ClaseDAO dao = new ClaseDAO();
		dao.anular(id, false, usuario);
	}
}
